]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
calendar: Allow to dismiss messages with delete
authorFlorian Müllner <fmuellner@gnome.org>
Fri, 27 Feb 2015 14:10:11 +0000 (15:10 +0100)
committerFlorian Müllner <fmuellner@gnome.org>
Fri, 27 Feb 2015 15:29:20 +0000 (16:29 +0100)
Messages can be dismissed using a pointer device by clicking the
close button, there's no reason to not make the same action
available via keyboard as well. Delete looks like an obvious
choice ...

https://bugzilla.gnome.org/show_bug.cgi?id=745279

js/ui/calendar.js

index 4bb9f83ecb5814d77deaebed19d770da23905313..a54bb814a65588c001b7e8245c4994acdd7d5fd8 100644 (file)
@@ -981,6 +981,8 @@ const Message = new Lang.Class({
                                      accessible_role: Atk.Role.NOTIFICATION,
                                      can_focus: true,
                                      x_expand: true, x_fill: true });
+        this.actor.connect('key-press-event',
+                           Lang.bind(this, this._onKeyPressed));
 
         let vbox = new St.BoxLayout({ vertical: true });
         this.actor.set_child(vbox);
@@ -1160,6 +1162,17 @@ const Message = new Lang.Class({
     },
 
     _onDestroy: function() {
+    },
+
+    _onKeyPressed: function(a, event) {
+        let keysym = event.get_key_symbol();
+
+        if (keysym == Clutter.KEY_Delete ||
+            keysym == Clutter.KEY_KP_Delete) {
+            this.emit('close');
+            return Clutter.EVENT_STOP;
+        }
+        return Clutter.EVENT_PROPAGATE;
     }
 });
 Signals.addSignalMethods(Message.prototype);